const {
    defineConfig
} = require('@vue/cli-service')
module.exports = defineConfig({
    transpileDependencies: true,
    // 公共的资源的路径配置（使用相对路径):可以实现该项目作为某个域名的二级目录来访问。默认是绝对路径
    publicPath: './',
    lintOnSave: false,
    chainWebpack: config => {
        // 发布模式
        config.when(process.env.NODE_ENV === 'production', config => {
            // entry找到默认的打包入口，调用clear则是删除默认的打包入口
            // add添加新的打包入口
            config.entry('app').clear().add('./src/main-prod.js')

            // 使用externals设置排除项
            config.set('externals', {
                // 模块名：对应的变量名
                // 对应 import 变量名  from '模块名'
                vue: 'Vue',
                'vue-router': 'VueRouter ',
                axios: 'axios',
                lodash: '_',
                echarts: 'echarts',
                nprogress: 'NProgress',
                moment: 'moment',
                'vue-quill-editor': 'VueQuillEditor'
            })

            // 使用插件，配合参数
            config.plugin('html').tap(args => {
                // 添加参数isProd
                args[0].isProd = true
                return args
            })
        })

        // 开发模式
        config.when(process.env.NODE_ENV === 'development', config => {
            config.entry('app').clear().add('./src/main-dev.js')

            // 使用插件，配置参数
            config.plugin('html').tap(args => {
                // 添加参数isProd
                args[0].isProd = false
                return args
            })
        })
    }
})